home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / Makefile < prev    next >
Makefile  |  1992-01-18  |  3KB  |  99 lines

  1. # Hey Emacs, this Makefile is in -*- text -*- mode!
  2. #
  3. # Makefile for Bash.
  4. # If your cpp doesn't like -P, just get rid of it (the -P, not cpp).
  5. # If you wish to use Gcc, then just type "make CC=gcc".
  6. # If you wish to use GNU's Make, then change the MAKE define.
  7. # If you don't like the destination, then change DESTDIR.  (This only
  8. # matters if you are typing `make install'.)
  9. # The file that you most likely want to look at is cpp-Makefile.
  10. #
  11. # If you haven't read README, now might be a good time.
  12.  
  13. DESTDIR = /usr/gnu/bin
  14. MAKE    = make
  15. RM      = rm -f
  16. SHELL   = /bin/sh
  17. GAWK     = awk
  18. # GAWK     = gawk
  19.  
  20. CPPNAME = /lib/cpp
  21. CPP     = $(CPPNAME) `$(CPPMAGIC) $(GETCPPSYMS) $(CPPNAME)` -P
  22. # CPP     = $(CC) -E
  23.  
  24. CPP_MAKEFILE = cpp-Makefile
  25.  
  26. CPPFLAGS = $(SYSTEM) $(CPP_DEFINES)
  27. CPP_ARGS = -DCPP_CC="$(CC)"
  28.  
  29. SUPPORTDIR     = ./support/
  30. MKSYSDEFS      = $(SUPPORTDIR)mksysdefs
  31. CPPMAGIC       = $(SUPPORTDIR)cppmagic
  32. CAT_S          = $(SUPPORTDIR)cat-s
  33. GETCPPSYMS     = $(SUPPORTDIR)getcppsyms
  34. GETCPPSYMS_SRC = $(SUPPORTDIR)getcppsyms.c
  35.  
  36. # Here is a command which compresses runs of multiple blank lines to a
  37. # single blank line.  "cat -s" works for BSD systems, but not for USG
  38. # systems.  You can use an awk script if you like.  If you have too
  39. # much trouble with this, just forget it.  It is for making
  40. # bash-Makefile pretty and readable; something that isn't strictly
  41. # necessary.
  42. # SQUASH_BLANKS = cat -s
  43. #
  44. SQUASH_BLANKS = $(GAWK) -f $(CAT_S)
  45.  
  46. all:    .notified bash-Makefile
  47.     $(MAKE) $(MFLAGS) $(MAKEARGS) -f bash-Makefile
  48.  
  49. bash-Makefile: $(CPP_MAKEFILE) Makefile machines.h sysdefs.h config.h
  50.     @-if [ -f aix-Makefile ]; then \
  51.         echo "cp aix-Makefile tmp-Makefile.c"; \
  52.         cp aix-Makefile tmp-Makefile.c; else \
  53.         echo "cp $(CPP_MAKEFILE) tmp-Makefile.c"; \
  54.         cp $(CPP_MAKEFILE) tmp-Makefile.c; \
  55.       fi
  56.     $(RM) $(GETCPPSYMS)
  57.     $(CC) -o $(GETCPPSYMS) $(GETCPPSYMS_SRC)
  58.     @/bin/sh -c 'echo $(CPP) $(CPPFLAGS) $(CPP_ARGS) tmp-Makefile.c \| $(SQUASH_BLANKS) \> bash-Makefile'
  59.     @/bin/sh -c '$(CPP) $(CPPFLAGS) $(CPP_ARGS) tmp-Makefile.c | $(SQUASH_BLANKS) >bash-Makefile'
  60.     rm -f tmp-Makefile.c
  61.  
  62. sysdefs.h: $(MKSYSDEFS)
  63.     $(MKSYSDEFS)
  64.  
  65. # Subsequent lines contain targets that are correctly handled by an
  66. # existing bash-Makefile.
  67.  
  68. install newversion mailable distribution architecture: bash-Makefile
  69.     $(MAKE) $(MFLAGS) $(MAKEARGS) DESTDIR=$(DESTDIR) -f bash-Makefile $@
  70.  
  71. bash.tar.Z tags documentation clone: bash-Makefile directory-frob
  72.     $(MAKE) $(MFLAGS) $(MAKEARGS) DESTDIR=$(DESTDIR) -f bash-Makefile $@
  73.  
  74. clean: bash-Makefile directory-frob
  75.     rm -f .notified
  76.     $(MAKE) $(MFLAGS) $(MAKEARGS) DESTDIR=$(DESTDIR) -f bash-Makefile $@
  77.  
  78. directory-frob:
  79.  
  80. .NOEXPORT:
  81.  
  82. .notified:
  83.     @echo ""
  84.     @echo "   You are about to make this version of GNU Bash for"
  85.     @echo "   this architecture for the first time.  If you haven't"
  86.     @echo "   yet read the README file, you may want to do so.  If"
  87.     @echo "   you wish to report a bug in Bash, or in the installation"
  88.     @echo "   procedure, please mail it to bash-maintainers@ai.mit.edu,"
  89.     @echo "   and include:"
  90.     @echo ""
  91.     @echo "    * the version number of Bash,"
  92.     @echo "    * the machine and OS that it is running on,"
  93.     @echo "    * a description of the bug,"
  94.     @echo "    * a recipe for recreating the bug reliably,"
  95.     @echo "    * a fix for the bug if you have one!"
  96.     @echo ""
  97.     @touch .notified
  98.     
  99.